package com.sinog.biz.mapper.havexml;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sinog.core.domain.ReplyInfo;
import com.sinog.core.domain.ReportInfoManage;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @desc 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - ReportInfoManageMapper
 * @author zhangcb
 * @date 2020-02-16
 */
public interface ReportInfoManageMapper extends BaseMapper<ReportInfoManage> {

    /**
     * 获取首页上报协调列表
     * @param departId departId
     * @param level level
     * @param account account
     * @return List<HashMap < String,Object>>
     */
    List<HashMap<String,Object>> getSySbxtList(
            @Param("departId") String departId,@Param("level") String level,@Param("account") String account);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 列表
     * @param page page
     * @param searchKey searchKey
     * @param sbStartDate sbStartDate
     * @param sbEndDate sbEndDate
     * @param sbdw sbdw
     * @param sbtype sbtype
     * @param tipFlag tipFlag
     * @param departId departId
     * @return List<Map < String,String>>
     */
    List<Map<String,String>> getReportInfoList(Page<Map<String,String>> page,
                                               @Param("searchKey") String searchKey,
                                               @Param("sbStartDate") String sbStartDate,
                                               @Param("sbEndDate") String sbEndDate,
                                               @Param("sbdw") String sbdw,
                                               @Param("sbtype") String sbtype,
                                               @Param("tip_flag") String tipFlag,@Param("departId") String departId);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 回复 - 新增
     * @param contentId contentId
     * @param replytime replytime
     * @param csjigou csjigou
     * @return int
     */
    int insertReplyInfo(
            @Param("content_id") String contentId,
            @Param("replytime") String replytime,@Param("csjigou") String csjigou);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 回复 - 更新
     * @param id id
     * @param readtime readtime
     * @param uploadFlag uploadFlag
     * @param tipFlag tipFlag
     * @return int
     */
    int updateReportInfo(
            @Param("id") String id,
            @Param("readtime") String readtime,
            @Param("upload_flag") String uploadFlag,@Param("tip_flag") String tipFlag);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 发布上报协调信息
     * @param id id
     * @return int
     */
    int report(@Param("id") String id);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 取消发布上报协调信息
     * @param id id
     * @return int
     */
    int withdraw(@Param("id") String id);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 修改查看状态
     * @param id id
     * @return int
     */
    int changeState(@Param("id") String id);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 修改查看状态
     * @param id id
     * @return String
     */
    String getUpdanweiById(String id);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 查询是否存在回复信息
     * @param contentId contentId
     * @return ReplyInfo
     */
    ReplyInfo getReplyInfoByContentId(String contentId);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 添加replyinfo信息
     * @param contentId contentId
     * @param replytime replytime
     * @param csjigou csjigou
     * @param replyFlag replyFlag
     * @return int
     */
    int insertReply(
            @Param("content_id") String contentId,
            @Param("replytime") String replytime,
            @Param("csjigou") String csjigou,@Param("reply_flag") String replyFlag);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 修改replyinfo信息
     * @param contentId contentId
     * @param replytime replytime
     * @param csjigou csjigou
     * @param replyFlag replyFlag
     * @return int
     */
    int updateReply(
            @Param("content_id") String contentId,
            @Param("replytime") String replytime,
            @Param("csjigou") String csjigou,@Param("reply_flag") String replyFlag);

    /**
     * 安帮工作资源管理 - 上报协调信息管理 - 上报协调信息管理 - 查找状态
     * @param id id
     * @return String
     */
    String getUploadFlag(String id);
}